草庐IT

c++ - DrawText VS TextOut Win32

全部标签

c - 在 C 中确定文件是否正在 Windows 上被删除

这个问题在这里已经有了答案:C++/Win32:Howtowaitforapendingdeletetocomplete(13个答案)关闭9年前。我有一个文件是使用WindowsAPICreateFile()使用FILE_SHARE_DELETE标志打开的,这样我就可以在文件句柄仍然打开时删除它。但是在第一个进程删除文件和进程结束之间的窗口中,我希望能够知道文件正在被删除,以便我可以进入重试循环。我发现错误代码303与我要找的完全一样:ERROR_DELETE_PENDING303(0x12F)Thefilecannotbeopenedbecauseitisintheprocessof

c++ - Win32 窗口创建失败?

我进行了研究,但找不到答案。我找到的最接近的是“Cannotcreatewindow”,但它对我没有帮助。所以,就在这里!基本信息我有一个静态库和一个使用静态库的应用程序。我正确地将应用程序连接到静态库(包括目录、库目录、实际库依赖项等)。在静态库中,我有1个文件:IWindow.h。在应用程序中,我有3个文件:Main.cpp、WindowMain.h和WindowMain.cpp。IWindow.h定义了一个抽象窗口类:#ifndefIWINDOW_H#defineIWINDOW_H#includenamespaceNamespaceName{templateclassIWindo

windows - 从 MINGW 启动时运行 System32 程序而不是 SysWOW64

我正在尝试从我从minggw启动的shell脚本文件创建EXE文件(从gi​​tbash使用)我的问题是当我运行这些命令时:C:/Windows/system32/iexpress.exe//NC:\\git\\install_64bitWindows.SEDC:/Windows/SysWOW64/iexpress.exe//NC:\\git\\Install_32bitWindows.SED他们总是最终调用SysWOW64中的makecab(创建32位.exe)无论如何,我是否可以从system32启动一个新的cmd以便我能够制作我的64位.exe? 最佳

c - Win32 公共(public)控件初始化会破坏自定义控件吗?

所以我正在尝试在Win32中初始化公共(public)控件和视觉样式。我构建了一个包含我编写的一些自定义控件的DLL,以及一个包含GUI应用程序的EXE。通常,职责分离似乎是我的DLL不应该担心我们是否启用窗口样式。它应该只生成自定义控件并将它们公开给依赖的EXE。然后EXE可以决定它是否需要视觉样式,而DLL一点也不知道。问题是这样的:我让我的DLL在进程附加上的DllMain中注册它的窗口类。但是,如果我在EXE中调用InitCommonControlsEx,自定义控件中的按钮和诸如此类的东西不会显示,因为自定义控件在EXE可以初始化公共(public)控件之前注册。为了证明这一点

c++ - 如何在进程间通信中获取其他端点的进程ID

使用Win32C++API,我想知道哪个IPCmethod,允许多进程通信中的任何端点获取与之通信的进程的PID或HANDLE。换句话说,如果进程A从进程B收到一条消息:如果B没有(直接)在发送的消息中给出任何提示,A可以知道B发送了消息吗?如何?要求:B的PID不能在IPC消息中发送给A。通信的目的是简单的远程过程调用。但是,我不希望远程系统/主机上的进程调用本地主机上运行的进程提供的过程。我当然找到了RPCdocumentationonMSDN.但是,我想知道是否有比RPC更好的方法来实现我想要的。或者,如果您认为RPC是可行的方法,能否告诉我原因以及您是否知道除MSDN之外还有其

c++ - win32 GUI 在窗口中显示来自 char 数组变量的文本

我希望使用win32将字符数组中的字符显示到窗口中。第二个参数类型错误。我该如何解决这个问题?谢谢chardata[5]="hello";CreateWindow(TEXT("STATIC"),TEXT(data),WS_VISIBLE|WS_CHILD|WS_BORDER|ES_AUTOVSCROLL,10,50,300,300,hWnd,(HMENU)none,NULL,NULL); 最佳答案 constTCHAR*data=TEXT("hello");//LPCTSTRCreateWindow(TEXT("STATIC"),d

c - RegCreateKeyEx() 和 GetLastError()

为什么是RegCreateKeyEx()返回LONG,而不是设置DWORD错误代码来自SetLastError()?转换它的LONG对我来说安全吗?将值返回给DWORD然后用SetLastError()将其设置为全局错误代码?http://msdn.microsoft.com/en-us/library/windows/desktop/ms724844(v=vs.85).aspx 最佳答案 WhyisitthatRegCreateKeyEx()returnsaLONG,insteadofsettingaDWORDerrorcodev

c++ - 链接器如何找到标准函数和 WinAPI 函数?

当我想使用标准C/C++库中的内容时,我可以只包含适当的header并使用该函数。WinAPI函数也是如此。我了解编译器如何找到这些header-它在本地搜索它们,如果找不到,则在一些预定义的系统文件夹中查找。但我不知道链接器是如何找到这些库的,因为我没有以任何方式包含它们... 最佳答案 如果您使用具有默认设置的VisualStudio2012,除了C运行时,链接器将链接到以下内容:内核32.libuser32.libgdi32.libwinspool.libcomdlg32.libadvapi32.libshell32.libo

windows - Inno Setup 在 32 位模式下安装到 SysWOW64

我正在创建一个只需要安装32位文件的安装程序,它们可以在64位和32位机器上运行。我在64位机器上运行InnoSetup,即使安装模式是32位,文件最终仍位于SysWOW64文件夹中。Dest指令设置为{sys}Source:"C:\Users\Lablabla\Documents\VisualStudio2013\Projects\Test\MyDll.dll";DestDir:"{sys}";Flags:32bit奇怪的是,日志显示目标是system32,安装模式是32位2015-04-1201:04:14.04664-bitWindows:Yes2015-04-1201:04:1

c# - 如何在外部 Win32 应用程序窗口上添加 WPF 覆盖?

我正在尝试附加WPF窗口作为外部应用程序(如记事本)的子窗口以提供覆盖。在研究了我可以在SO和MSDN上找到的所有答案之后,我已经在我的WPF应用程序运行时在记事本的一角创建了一个坚实的覆盖层。然而,一旦记事本获得焦点,叠加层就会消失,除了在记事本上显示覆盖外,覆盖还单独显示为一个窗口记事本上的叠加层不接收任何MouseMove事件(但单独的窗口接收。这是演示该问题的最小示例:Overlay.xamlOverlay.xaml.csusingSystem;usingSystem.Windows;usingSystem.Windows.Input;usingSystem.Windows.M